package com.zsj.stack;


/**
 * @Author zsj
 * @Version 1.0
 * @Date 2024/3/24 13:32
 * @Description
 */
public interface Stack<E> {

    /**
     * 向栈顶放入元素
     * @param value 放入元素
     * @return true成功 false失败
     */
    boolean push(E value);

    /**
     * 弹栈 将栈顶元素弹出
     * @return 栈顶元素 为空时返回null
     */
    E pop();

    /**
     * 弹栈 查看栈顶元素
     * @return 栈顶元素 为空时返回null
     */
    E peak();

    /**
     * 栈为空
     * @return true空 false不为空
     */
    boolean isEmpty();

    /**
     * 栈满
     * @return true满 false未满
     */
    boolean isFull();

}
